//
// Created by fh on 2021/8/6.
//

#ifndef CKIT_CARRAY_H
#define CKIT_CARRAY_H

#include <stdlib.h>
#include <stdio.h>

#define EACHSIZE 10 /* 每次开辟新内存的长度 */
typedef struct {
    int *a; /* 数据指针,数组起始内存位置 */
    int length; /* 当前数组长度 */
    int capacity; /* 实际内存开辟容量 */
} CArray;

/* 初始化可变数组 */
void allocInit(CArray **array);
/* 释放可变数组 */
void release(CArray **array);
/* 添加元素 */
void add(CArray *array,int data);
/* 删除元素 */
void removeElementByIndex(CArray *array,int index);
/* 替换元素 */
void replaceElementByIndex(CArray *array,int replaceIndex,int replaceData);
/* 查找元素 */
void getElementByIndex(CArray *array,int index,int *element);
/* 打印数组内容 */
void display(CArray *array);

/* 计算运行时间 */
void calculateRuntime();
/* 测试demo */
void arrayDemo();

#endif //CKIT_CARRAY_H
